The increased use of natural language processing in systems that people use daily has greatly raised the average person's expectations regarding how the computer formulates an answer to a query formatted for natural conversation. Many terms in such queries are only given meaning based on context and other terms in the query. In order for systems to handle the increasingly complex natural language queries, it is necessary to identify the meaning of the ambiguous terms in a way that allows the system to efficiently provide a relevant answer in real time.